package com.budius.chromecast.converter; import java.io.File; import java.io.IOException; import java.util.logging.FileHandler; import java.util.logging.Logger; import java.util.logging.SimpleFormatter; /** * Created by budius on 27.04.16. */ public class Log { public static void init(File folder, boolean debug) { instance = new Log(folder); Log.debug = debug; } private static boolean debug = false; private static Log instance; public static boolean isDebug() { return debug; } private File folder; private Logger error; private Logger warn; private Log(File folder) { this.folder = folder; } // static ======================================================================================= public static void d(String msg) { if (debug) { System.out.println(msg); } } public static void i(String msg) { System.out.println(msg); } public static void w(String msg) { System.out.println("WARNING: " + msg); if (instance.warn == null) { instance.warn = setup(instance.folder, "ChromecastConvert_WARNING"); } if (instance.warn != null) { instance.warn.warning(msg); } } public static void e(String msg) { System.out.println("ERROR: " + msg); if (instance.error == null) { instance.error = setup(instance.folder, "ChromecastConvert_ERROR"); } if (instance.error != null) { instance.error.severe(msg); } } private static Logger setup(File folder, String fileName) { try { FileHandler fh = new FileHandler(new File(folder, fileName + ".log").getAbsolutePath()); fh.setFormatter(new SimpleFormatter()); Logger logger = Logger.getLogger(fileName); logger.addHandler(fh); logger.setUseParentHandlers(false); return logger; } catch (IOException e) { e.printStackTrace(); return null; } } }